The field of invention relates to networking technology in general; and more specifically, to cell reassembly technology for packet based networks.
Various approaches may be used to model the functional layers that exist within a system that implements a node within a network. FIG. 1a shows one such model for a networking system 100. Packets are sent over network lines 101a-x. Network lines 101a-x correspond to the physical wiring (such as copper cables or fiber optic cables) that emanate from the system 100. Network lines 101a-x are used to physically carry input traffic (i.e., traffic entering system 100) and output traffic (i.e., traffic leaving system 100) from/to other networking systems.
Line aggregation layer 102 is used to aggregate the input traffic from network lines 101a-x and segregate the output traffic to network lines 101a-x. An input port (e.g., input port 103a) is used to carry aggregated input traffic from one or more network lines. For example, input port 103a may be used to carry the input traffic only from network lines 101a, b. Thus each input port 103a, b, c is a logical structure that carries the traffic arriving to system 100 from the port""s corresponding network lines.
The number of network lines that correspond to a particular input port may vary depending upon the design and/or configuration of a particular system 100. Also, one or more input ports (e.g., input ports 102,b,c) may exist, depending on the design point of a particular system. In an analogous fashion, line aggregation layer 102 is also used to segregate all the output traffic to network lines 101a-x. As such each output port 104a,b,c is a logical structure that carries the traffic leaving systen 100 from the logical port""s corresponding network lines.
Packet aggregation layer 105 is used to form input packets from the input traffic on input ports 103a, b, c and effectively send output packets over the output traffic existing on output ports 104a,b,c. Various packet forms may be implemented at packet aggregation layer 105. For example, for Asynchronous Transfer Mode (ATM) related network lines 101a-x, AAL0 and AAL5 packet types may be recognized at packet aggregation layer 105. Similarly, packets associated with the Point to Point Protocol, HDLC, Frame Relay and Ethernet may be used, as is known in the art, among others not listed above as well.
As an example of the operation of the packet aggregation layer 105, assume that network lines 101a-x are ATM network lines carrying AAL5 packets with ATM cells. ATM cells correspond to the traffic on network lines 101a-x and input/output ports 102-c103a-c, 104a-c. Packet aggregation layer 105 forms AAL5 input packets in the input direction (i.e., cell reassembly) and breaks down AAL5 output packets in the output direction (i.e., cell segmentation).
Within networking/transport Layer 106, as shown in FIG. 1, an input packet is converted into an output packet. Input packets are presented to the networking/transport layer 106 by the packet aggregation layer 105 and output packets are presented to the packet aggregation layer 105 by networking/transport Layer 106. Networking/transport layer 106 is responsible for effectively identifying the networking node that an input packet should be transmitted over when it leaves the system 100 as an output packet.
The bandwidth associated with system 100 is related to the number of packets per second the networking/transport layer 106 can process as well as the number of packets per second the packet aggregation layer can present/receive to/from the networking/transport layer 106.
FIG. 1b shows an example of a packet 152 that may be processed by system 100 of FIG. 1a. As seen in FIG. 1b, a packet 152 may be divided into header information 150 and random customer data 151. Header information 150 is used by the network to properly transport the packet. The packet header 150 typically has information related to the source of the packet, the destination of the packet, the priority of the packet, etc. In many cases the packet header 150 may be viewed as a collection of various headers such as a transport layer header, a networking layer header, etc. The packet random customer data 151 is the information desiring transportation across the network (e.g., an e-mail note, a file, a voice over IP (VOIP) telephone conversation or portions thereof). The random customer data 151 begins in an Internet Protocol (IP) packet after the IP header 153 as seen in FIG. 1b. The IP header includes an internet layer header and may also include a transport layer header and/or application layer header.
A cell processing pipeline is described comprising a plurality of stages for cell reassembly. The cell has a cell header and a cell payload. One of the stages is configured to parse packet header information located within the cell payload.